<template>
  <div class="talk">
    <button @click="getLoveTalk">获取一句土味情话</button>
    <ul>
      <li v-for="talk in talkList" :key="talk.id">{{ talk.title }}</li>
    </ul>
  </div>
</template>

<script setup lang="ts" name="LoveTalk">
  import { reactive } from "vue";
  import axios from "axios";
  import { nanoid } from "nanoid"; //随机id

  //数据
  let talkList = reactive([
    {
      id: "aaa001",
      title: "今天你有点怪,哪里怪?怪好看的!",
    },
    {
      id: "aaa002",
      title: "草莓,蓝莓,蔓越莓,今天想我了没?",
    },
    {
      id: "aaa003",
      title: "心里给你留了一块地,我的死心塌地",
    },
  ]);

  //方法
  async function getLoveTalk() {
    //发送请求
    let {
      //下面这行的写法是:连续解构加重命名为title
      data: { content: title },
    } = await axios.get("https://api.uomg.com/api/rand.qinghua?format=json");
    //把请求回来的字符串，转成一个对象对象
    let obj = { id: nanoid(), title }; //两种写法都可以 let obj = { id: nanoid(), title: title };
    //将对象(obj)放入数组(talkList)中
    talkList.unshift(obj);
  }
</script>

<style scoped>
  .talk {
    background-color: rgb(151, 207, 148);
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 0 10px;
  }
</style>
